//https://www.wangeditor.com/v5/menu-config.html#%E8%87%AA%E5%AE%9A%E4%B9%89%E5%8A%9F%E8%83%BD
import {Util,TokenUtil} from '@lowcode/jpaas-base-lib';

let menuConfig=function (token) {
    return {
        uploadImage:{//上传图片
            server: '/api/api-system/system/core/sysFile/upload',
            // 单个文件的最大体积限制，默认为 2M
            maxFileSize: 2 * 1024 * 1024,
            // 最多可上传几个文件，默认为 100
            maxNumberOfFiles: 10,
            // 选择文件时的类型限制，默认为 ['image/*'] 。如不想限制，则设置为 []
            allowedFileTypes: [],
            // 自定义上传参数，例如传递验证的 token 等。参数会被添加到 formData 中，一起上传到服务端。
            meta: {
                token: token,
                otherKey: ''
            },
            // 将 meta 拼接到 url 参数中，默认 false
            metaWithUrl: false,
            // 自定义增加 http  header
            headers: {
                Authorization: "Bearer "+ token
            },
            // 跨域是否传递 cookie ，默认为 false
            // 超时时间，默认为 10 秒
            timeout: 5 * 1000, // 5 秒

            customInsert(result, insertFn) {  // TS 语法
                // customInsert(res, insertFn) {                  // JS 语法
                // res 即服务端的返回结果
                let token = TokenUtil.getToken();
                for(let i=0;i<result.data.length;i++){
                    let fileId=result.data[i].fileId;
                    fileId=Util.encryptWord(fileId);
                    let url=`/api/api-system/system/core/sysFile/previewImg?fileId=${fileId}&accessToken=${token}`;
                    insertFn(url);
                }
                // 从 res 中找到 url alt href ，然后插入图片
                // insertFn(url, alt, href)
            }
        }
    }
}
export default menuConfig;
